package com.oly.cms.general.mapper;

import java.util.List;

import com.oly.cms.general.model.param.WebArticleSearchParam;
import com.oly.cms.general.model.po.WebArticle;
import com.oly.cms.general.model.po.WebCat;
import com.oly.cms.general.model.po.WebLink;
import com.oly.cms.general.model.po.WebMenu;
import com.oly.cms.general.model.po.WebTag;

public interface WebSearchMapper {

    /**
     * 获取菜单列表
     * 
     * @param webMenu
     * @return
     */
    List<WebMenu> listWebMenus(WebMenu webMenu);

    WebMenu getWebMenuByMenuId(long columnId);

    /**
     * 获取链接列表
     * 
     * @param webLink
     * @return
     */
    List<WebLink> listWebLinks(WebLink webLink);

    WebLink getWebLinkById(long linkId);

    /**
     * 获取标签列表
     * 
     * @param webTag
     * @return
     */
    List<WebTag> listWebTags(WebTag webTag);

    WebTag getWebTagByTagId(long tagId);

    WebCat getWebCatByCatId(long catId);

    /**
     * 获取分类
     * 
     * @param webCat
     * @return
     */
    List<WebCat> listWebCats(WebCat webCat);

    /**
     * 获取文章列表
     * 
     * @param webArticleSearchParam
     * @return
     */
    List<WebArticle> listWebArticlesBySearch(WebArticleSearchParam webArticleSearchParam);

    WebArticle getWebArticleHtmlByArticleId(long articleId);

    WebArticle getWebArticleMdByArticleId(long articleId);

    List<WebCat> listHotCats(Long str[]);

    List<WebTag> listHotTags(Long str[]);

    List<Long> listArticleIdsByCatId(long catId);

    List<Long> listArticleIdsByTagId(long tagId);

    WebTag getWebTagByTagUrl(String tagUrl);

    WebCat getWebCatByCatUrl(String catUrl);

    WebArticle getWebArticleByArticleUrl(String articleUrl);

    int checkCatIsHidden(long catId);

    int checkTagIsHidden(long tagId);

    boolean allowComment(Long postId);

}
